Many of today's integrated circuits, such as memory circuits, are programmable to operate in one or more particular modes, or to have one or more particular circuit configurations. An example of the latter type of circuit is a memory that includes redundant memory columns for replacing defective array memory columns. When a circuit tester discovers a defective array column, it programs the memory such that when an external device addresses the defective column, data is routed to a selected redundant column in a manner that is transparent to the external device. Typically, the manufacturer programs such integrated circuits at the factory before shipping them to customers.
These integrated circuits each typically include a bank of nonvolatile, programmable memory elements that the manufacturer programs to set a circuit in the desired operational mode or circuit configuration. Examples of such elements include electrically erasable and programmable read-only memory (EEPROM) cells, fuses, and antifuses. An integrated circuit often incorporates into its programmable bank the type of programmable element that is the most similar to other elements or components of the circuit. For example, a Flash-EEPROM device often includes a bank of EEPROM cells, but a dynamic random access memory (DRAM) often includes a bank of antifuses, which are similar in structure to the DRAM storage capacitors. Furthermore, such a programmable element typically has a first impedance in an unprogrammed state, and a second, different impedance in a programmed state. For example, an antifuse has a high impedance in an unprogrammed state, and thus is essentially an open circuit, and has a low impedance in a programmed state, and thus is essentially a short circuit. Conversely, a fuse is essentially a short circuit in an unprogrammed state, and is essentially an open circuit in a programmed state.
But because a programmed element may not always have an impedance that is within a desired range, the manufacturer often measures the impedances of the programmed elements in an analog fashion after it finishes programming the entire programmable bank. The analog tester performs these measurements sequentially by placing a voltage across each programmed element and measuring the current therethrough. If the manufacture discovers a programmed element that does not have the desired impedance, it can reprogram the element one or more times until it has the desired impedance.
A problem with this analog testing technique is that it often takes too long for high-density integrated circuits. As the number of circuit components in an integrated circuit increases, so does the number of operational modes and circuit configurations that the circuit supports. Therefore, the number of programmable elements in the programmable bank also increases to accommodate the additional operational modes and circuit configurations. For example, a megabit DRAM may have 20 antifuses in its programmable bank, but a 64 megabit DRAM may have 640 antifuses. Furthermore, measuring the impedance in an analog fashion is relatively slow because of the parasitic capacitances associated with the test path and each programmed element. Thus, increasing the storage capacity of a DRAM by a factor of 16 can potentially increase the number of antifuses, and thus the already lengthy testing time, by a factor of 32. Additionally, testers that can perform analog measurements are often expensive and complicated to operate in the analog-testing mode.